package com.ldzl.service;

import com.ldzl.dto.ItemReceiptDTO;
import com.ldzl.pojo.CkItemRecpt;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author 风止
* @description 针对表【ck_item_recpt(物料入库单表)】的数据库操作Service
* @createDate 2025-07-18 16:44:31
*/
public interface CkItemRecptService extends IService<CkItemRecpt> {

    /**
     * 查询入库单
     * @param itemRecpt
     * @return
     */
    List<CkItemRecpt> selectRecpt(CkItemRecpt itemRecpt);

    /**
     * 添加入库单
     * @param itemReceiptDTO
     * @return
     */
    boolean addRecpt(ItemReceiptDTO itemReceiptDTO);

    /**
     * 提交入库单
     * @param recpt_id
     * @return
     */
    boolean submitReceipt(Long recpt_id);

    /**
     * 入库
     * @param itemRecpt
     * @return
     */
    boolean goodsWarehousing(CkItemRecpt itemRecpt);

    /**
     * 查询待质检的入库单
     * @param recpt_code
     * @param recpt_name
     * @return
     */
    List<CkItemRecpt> selectCkProductRecptDetectSingle(String recpt_code, String recpt_name,String stutus);

    /**
     * 修改入库单状态 合格或不合格
     * @param recpt_id
     * @param status
     * @return
     */
    boolean updateCkProductRecptStatusStatus(Long recpt_id,Long status);

    /**
     * 删除指定仓库的入库单
     * @param warehouse_id
     * @return
     */
    boolean delete_warehouse_id(Long warehouse_id);

    /**
     * 删除入库单
     * @param itemRecpt
     * @return
     */
    boolean deleteRecpt(CkItemRecpt itemRecpt);

    /**
     * 批量删除入库单
     * @param list_recpt_id
     * @return
     */
    boolean deleteRecpt_batch(List<Long> list_recpt_id);
}
